#pragma once
#include <vl/VLf.h>
#include <FL/gl.h>
#include <stdlib.h>
#include <time.h>


class Particle
{
public:
    Particle(void);
    ~Particle(void);
    void setPosition(float, float, float);
	void setPosition(Vec3f&);
    void setVelocity(float, float, float);
	void setVelocity(Vec3f&);
    void setMass(float);
	void setAge(int, int);
	bool checkLife(void);
    void setRandomMass(int, int);
    float getMass(void) const;
    void addForce(float, float, float);
    Vec3f getForce(void) const;
	Vec3f getPosition(void) const;
	Vec3f getVelocity(void) const;
    void resetForce(void);
    void draw(void);
	void setRandomSize(int, int);
	void setSize(float);


private:
    Vec3f position;    
    Vec3f velocity;
    Vec3f force;
    float mass;
    Vec3f color;
    int lifespan;
    int age;
	int ageLimit;
    float size;
};
